package com.cws.project.cws.signin.domain;

import java.util.Date;
import java.util.List;

import com.cws.framework.aspectj.lang.annotation.Excel;
import com.cws.framework.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 签到管理对象 cws_sign_in
 *
 * @author xyl
 * @date 2022-03-27
 */
public class SignIn extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 签到id
     */
    private Long signInId;

    /**
     * 下发到哪个课
     */
    private Long courseId;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 有效时间
     */
    @Excel(name = "有效时长")
    private Integer validTime;

    @Excel(name = "课程名称")
    private String courseName;


    /**
     * 校验码
     */
    @Excel(name = "校验码")
    private String verifyCode;

    private List<Long> clazzIds;

    private Long teacherId;

    public List<Long> getClazzIds() {
        return clazzIds;
    }

    public void setClazzIds(List<Long> clazzIds) {
        this.clazzIds = clazzIds;
    }

    public Long getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(Long teacherId) {
        this.teacherId = teacherId;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }


    public String getVerifyCode() {
        return verifyCode;
    }

    public void setVerifyCode(String verifyCode) {
        this.verifyCode = verifyCode;
    }

    public Integer getValidTime() {
        return validTime;
    }

    public void setValidTime(Integer validTime) {
        this.validTime = validTime;
    }

    public void setSignInId(Long signInId) {
        this.signInId = signInId;
    }

    public Long getSignInId() {
        return signInId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public Long getCourseId() {
        return courseId;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return startTime;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("signInId", getSignInId())
                .append("courseId", getCourseId())
                .append("startTime", getStartTime())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
